function initialize() {
	var mapOptions = {
		center : new google.maps.LatLng(-33.455273, -70.587851),
		zoom : 13
	};
	var map = new google.maps.Map(document.getElementById('map-canvas'),
			mapOptions);

	var input = (document.getElementById('direccion'));
	

	var types = document.getElementById('type-selector');
	map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);
	map.controls[google.maps.ControlPosition.TOP_LEFT].push(types);

	var autocomplete = new google.maps.places.Autocomplete(input);
	autocomplete.bindTo('bounds', map);

	var infowindow = new google.maps.InfoWindow();
	var marker = new google.maps.Marker({
		map : map,
		anchorPoint : new google.maps.Point(0, -29)
	});

	google.maps.event.addListener(autocomplete, 'place_changed', function() {
		infowindow.close();
		marker.setVisible(false);
		var place = autocomplete.getPlace();

		document.getElementById('latitud').value = place.geometry.location
				.lat();
		document.getElementById('longitud').value = place.geometry.location
				.lng();
		if (!place.geometry) {
			return;
		}

		// If the place has a geometry, then present it on a map.
		if (place.geometry.viewport) {
			map.fitBounds(place.geometry.viewport);

		} else {
			map.setCenter(place.geometry.location);
			map.setZoom(17); 
		}

		// marker.setIcon(/** @type {google.maps.Icon} */
		// ({
		// url : place.icon,
		// size : new google.maps.Size(71, 71),
		// origin : new google.maps.Point(0, 0),
		// anchor : new google.maps.Point(17, 34),
		// scaledSize : new google.maps.Size(35, 35),
		//
		// }));
		marker.setPosition(place.geometry.location);
		marker.setVisible(true);
		marker.setDraggable(true);
		google.maps.event.addListener(marker, 'dragend', function() {
			console.log(marker.getPosition());
			document.getElementById('latitud').value = marker.getPosition()
					.lat();
			document.getElementById('longitud').value = marker.getPosition()
					.lng();
		});
		var address = '';
		
		if (place.address_components) {
			address = [
					(place.address_components[0]
							&& place.address_components[2].long_name || '') ].join(' ');
		
			
		}
	    document.getElementById('comuna').value = address.toUpperCase();
		
		

		infowindow.setContent('<div><strong>' + place.name + '</strong><br>'
				+ address);
		infowindow.open(map, marker);
		

	});

	// Sets a listener on a radio button to change the filter type on Places
	// Autocomplete.

}
google.maps.event.addDomListener(window, 'load', initialize);